#ifndef PLOT_H
#define PLOT_H

#include <qwt_plot.h>
#include <qwt_plot_curve.h>
#include <qwt_plot_spectrogram.h>
#include <QVector>
#include <record.hpp>
#include <parameter.hpp>


class Plot: public QwtPlot
{
    Q_OBJECT

public:
    Plot( QWidget * = nullptr );

public Q_SLOTS:

    void exportPlot();
    void setResampleMode( int );

    //注意：setData函数并不会刷新图像，每次重新设置数据后最好用setParameter刷新一下才能看到变化
    void setData(const Record &, int);
    void setParameter(const Parameter & parm,int stop = 0);

public:
    RECORD_TYPE type;

private:
    int useless_padding;
    Parameter m_param;
    QwtPlotSpectrogram *d_spectrogram;
    QwtPlotCurve *d_curve;


};


#endif // PLOT_H
